package licode.unisop.realm.client.api;

import licode.unisop.provider.info.SiIdentityContext;
import licode.unisop.provider.info.SiReturnCode;
import licode.unisop.realm.client.info.SiIdentityRegister;

/**
 * 定义用户认证查询接口
 *
 * @author licode
 */
public interface SiIdentityService {
    /**
     * 根据新传入的用户认证信息和用户自身的认证信息进行校验
     * @param context 认证信息
     * @return 成功返回0
     */
    SiReturnCode authUser(SiIdentityContext context);

    /**
     * 使用URL的方式注册远程认证插件
     * @param regInfo 注册信息
     */
    void registerIdentityPlugin(SiIdentityRegister regInfo);

    /**
     * 使用URL的方式注册远程认证拦截器插件
     * @param regInfo 注册信息
     */
    void registerIdentityInterceptor(SiIdentityRegister regInfo);
}
